package com.dms.modules.product.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.dms.modules.product.dto.ProductSearchDTO;
import com.dms.modules.product.entity.Product;
import com.dms.modules.product.vo.ProductSearchVO;

import java.util.List;

/**
 * 商品搜索服务接口
 */
public interface ProductSearchService {
    
    /**
     * 搜索商品
     */
    ProductSearchVO search(ProductSearchDTO searchDTO);
    
    /**
     * 获取搜索建议
     */
    List<String> getSearchSuggestions(String keyword, Integer limit);
    
    /**
     * 获取搜索历史
     */
    List<String> getSearchHistory(Long userId, Integer limit);
    
    /**
     * 保存搜索历史
     */
    void saveSearchHistory(Long userId, String keyword);
    
    /**
     * 清除搜索历史
     */
    void clearSearchHistory(Long userId);
    
    /**
     * 获取热门搜索
     */
    List<String> getHotSearches(Integer limit);
    
    /**
     * 更新热门搜索
     */
    void updateHotSearch(String keyword);
    
    /**
     * 商家搜索商品
     */
    IPage<Product> searchMerchantProducts(ProductSearchDTO searchDTO, Integer status);
    
    /**
     * 管理员搜索商品
     */
    IPage<Product> adminSearchProducts(ProductSearchDTO searchDTO, Integer auditStatus);
} 